﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QLTV_V2.DataAccess;
using QLTV_V2.BussinessLogic;
using QLTV_V2.BussinessObject;

namespace QLTV_V2
{
    public partial class FrmGiahanMT : DevComponents.DotNetBar.Office2007RibbonForm
    {
        public FrmGiahanMT()
        {
            InitializeComponent();
        }
        public string maMT;
        public int dk;
        Utilities uti = new Utilities();
        PhieuMuonTra phieuMT = new PhieuMuonTra();
        MuonTraBUS mtBUS = new MuonTraBUS();
        private void FrmGiahanMT_Load(object sender, EventArgs e)
        {
            if (dk == 1)
            {
                txt_MaMuonTra.Text = maMT;
                phieuMT = mtBUS.getPhieuMT_object(maMT);
                txt_MaBanDoc.Text = phieuMT.MaBanDoc.ToUpper();
                date_NgayMuon.Value = phieuMT.NgayMuon;
                Date_NgayPhaiTra.Value = phieuMT.NgayPhaiTra;
                date_NgayGiaHan.Value = System.DateTime.Now;
                dgv_CTPhieuMT.DataSource = mtBUS.getCTMuonTra(maMT);
                btn_KiemTra.Enabled = false;
            }
        }

        private void btn_GiaHan_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Lưu thông tin?", "Thông báo",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
            {
                int k = dgv_CTPhieuMT.Rows.Count - 1;
                dgv_CTPhieuMT.CurrentCell = dgv_CTPhieuMT.Rows[k].Cells[0];
                dgv_CTPhieuMT.CurrentCell = dgv_CTPhieuMT.Rows[0].Cells[0];
                DateTime ngayGiahan = date_NgayGiaHan.Value;
                int count = dgv_CTPhieuMT.Rows.Count - 1;
                int dem = 0;
                int pass=0;
                for (int i = 0; i < count; i++)
                {
                    if (Convert.ToBoolean(dgv_CTPhieuMT.Rows[i].Cells["Chon"].Value) == true)
                    {
                        dem++;
                        string mactMT = dgv_CTPhieuMT.Rows[i].Cells["MaCTMuonTra"].Value.ToString();
                        if (mtBUS.update_GiaHanMT(ngayGiahan, mactMT) == true)
                            pass++;
                    }
                }
                if (dem != 0)
                {
                    MessageBox.Show("Gia hạn thành công " + pass + "/" + dem + " được chọn!", "Thông báo");
                    dgv_CTPhieuMT.DataSource = mtBUS.getCTMuonTra(maMT);
                    date_NgayGiaHan.Enabled = false;
                    btn_GiaHan.Enabled = false;
                    btn_HuyGiaHan.Enabled = false;
                }
                else
                    MessageBox.Show("Chưa chọn!", "Thông báo");
            }
        }

        private void btn_HuyGiaHan_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btn_KiemTra_Click(object sender, EventArgs e)
        {
            string maBanDoc = txt_MaBanDoc.Text;
            if (uti.CheckExitsValue("PhieuMuonTra", "MaBanDoc", maBanDoc) == false)
            {
                if (mtBUS.checkExistMT(maBanDoc) == true)
                {
                    phieuMT = mtBUS.getPhieuMT_Ob_TraSach(maBanDoc);
                    txt_MaMuonTra.Text = phieuMT.MaMuonTra.ToUpper();
                    date_NgayMuon.Value = phieuMT.NgayMuon;
                    Date_NgayPhaiTra.Value = phieuMT.NgayPhaiTra;
                    date_NgayGiaHan.Value = System.DateTime.Now;
                    dgv_CTPhieuMT.DataSource = mtBUS.getCTMuonTra(phieuMT.MaMuonTra);
                    //
                    date_NgayGiaHan.Enabled = true;
                    btn_GiaHan.Enabled = true;
                    btn_HuyGiaHan.Enabled = true;
                }
                else
                    MessageBox.Show("Sách đã được trả. Kiểm tra lại thông tin", "Thông báo");
            }
            else
                MessageBox.Show("Mã mượn trả không đúng");
        }

        private void dgv_CTPhieuMT_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
        {
            uti.dgv_GetSTT_RowHeader(sender, e, dgv_CTPhieuMT);
        }
    }
}
